import {Observer} from '../common/Observer'
import pxmu from 'pxmu'


let loginDemo=document.getElementById('loginDemo')
let loginCloseBtn=document.getElementById('loginCloseBtn')
let loginusername=document.getElementById('loginusername')
let loginpassword=document.getElementById('loginpassword')
let loginBtn=document.getElementById('loginBtn')

Observer.on('login-show',function(){
    loginDemo.classList.remove("d-none")
})
Observer.on('login-hide',function(){
    loginDemo.classList.add("d-none")
})
Observer.on('content-show',function(){
    content.classList.remove('d-none')
})
Observer.on('content-hide',function(){
    content.classList.add("d-none")
})

loginCloseBtn.onclick=function(){
    Observer.emit('login-hide')
    Observer.emit('content-show')
    location.href='/'
    // document.body.style.background='red'
}
async function getUserInfo() {
    // 发送请求   获取用户信息
    let res = await fetch("/guyun/getUserInfo?authrization=" + localStorage.getItem("token"))
    let { error, data: { headpic, nickname } } = await res.json();

    // 判断
    if (!error) {
        // 把右上角的登录和注册替换为 头像、用户名、退出
        loginandregist.classList.add("d-none")
        // 头像更换
        headPic.src = headpic;
        // 用户名(其实是昵称)
        username.innerHTML = nickname;
        userInfo.classList.remove("d-none");
        return;
    }
    loginandregist.classList.remove("d-none")
    userInfo.classList.add("d-none");


}
loginBtn.onclick=async function(e){
    e.preventDefault ()
    console.log('进入登录');
    let username=loginusername.value
    if(!/^[a-zA-Z0-9_-]{4,16}$/.test(username)){
        pxmu.fail('用户名不符合规范：4到16位（字母，数字，下划线，减号）')
        return
    }
    let password=loginpassword.value
    if (!/^[a-zA-Z0-9_-]{4,16}$/.test(password)) {
        pxmu.fail('用户名不符合规范：4到16位（字母，数字，下划线，减号）')
        return;
    }

    let obj=await fetch('/guyun/login',{
        method:"post",
        headers:{
            "Content-type":"application/x-www-form-urlencoded"
        },
        body:"username="+username+"&password="+password

        
    })
    // 各种携带数据
    let {error,data,token}=await obj.json()
    if (error === 0) {
        pxmu.success(data)
        console.log('登陆成功');
        Observer.emit('content-show')
        // 把返回的token存起来
        localStorage.setItem("token", token);
        Observer.emit("login-hide")
        // 通知头部
        Observer.emit("getUserInfo")
        return;
      }
    pxmu.fail(data)

}


